package Observers;

import tadp.tp.domain.Persona;
import tadp.tp.domain.Reunion;
import tadp.tp.domain.excepciones.PocoPorcentajeDeAsistenciaException;

public class CanceladorPorPorcentaje implements Observador{
	private Double porcentaje;
	
	public CanceladorPorPorcentaje(Double unPorcentaje) {
		this.setPorcentaje(unPorcentaje);
	}
	@Override
	public void realizarAccion(Reunion reunion, Persona persona) {
		Double personasTotales=(double)reunion.getPersonas().size();
		Double personasQueQuedaron=(double) reunion.getPersonas().size()-1;
		Double otroPorcentaje= personasTotales/personasQueQuedaron;
		if(this.TeCancelas(otroPorcentaje)){
			reunion.cancelar();
			throw new PocoPorcentajeDeAsistenciaException();
		}
		
	}
	private boolean TeCancelas(Double otroPorcentaje) {
		return otroPorcentaje-this.getPorcentaje()<0;
	}
	public Double getPorcentaje() {
		return porcentaje;
	}
	public void setPorcentaje(Double porcentaje) {
		this.porcentaje = porcentaje;
	}
	
}
